/*
Adept MobileRobots Robotics Interface for Applications (ARIA)
Copyright (C) 2004-2005 ActivMedia Robotics LLC
Copyright (C) 2006-2010 MobileRobots Inc.
Copyright (C) 2011-2015 Adept Technology, Inc.
Copyright (C) 2016-2018 Omron Adept Technologies, Inc.

     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.

     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.

     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

If you wish to redistribute ARIA under different terms, contact 
Adept MobileRobots for information about a commercial version of ARIA at 
robots@mobilerobots.com or 
Adept MobileRobots, 10 Columbia Drive, Amherst, NH 03031; +1-603-881-7960
*/
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.8
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.mobilerobots.ArNetworking;
import com.mobilerobots.Aria.*;
public class ArServerHandlerCamera extends ArCameraCollectionItem {
  private transient long swigCPtr;

  public ArServerHandlerCamera(long cPtr, boolean cMemoryOwn) {
    super(ArNetworkingJavaJNI.ArServerHandlerCamera_SWIGUpcast(cPtr), cMemoryOwn);
    swigCPtr = cPtr;
  }

  public static long getCPtr(ArServerHandlerCamera obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        ArNetworkingJavaJNI.delete_ArServerHandlerCamera(swigCPtr);
      }
      swigCPtr = 0;
    }
    super.delete();
  }

  public ArServerHandlerCamera(String cameraName, ArServerBase server, ArRobot robot, ArPTZ camera, ArCameraCollection collection) {
    this(ArNetworkingJavaJNI.new_ArServerHandlerCamera__SWIG_0(cameraName, ArServerBase.getCPtr(server), server, ArRobot.getCPtr(robot), robot, ArPTZ.getCPtr(camera), camera, ArCameraCollection.getCPtr(collection), collection), true);
  }

  public ArServerHandlerCamera(ArServerBase server, ArRobot robot, ArPTZ camera) {
    this(ArNetworkingJavaJNI.new_ArServerHandlerCamera__SWIG_1(ArServerBase.getCPtr(server), server, ArRobot.getCPtr(robot), robot, ArPTZ.getCPtr(camera), camera), true);
  }

  public void setCameraAbs(double pan, double tilt, double zoom, boolean lockRobot) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_setCameraAbs__SWIG_0(swigCPtr, this, pan, tilt, zoom, lockRobot);
  }

  public void setCameraAbs(double pan, double tilt, double zoom) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_setCameraAbs__SWIG_1(swigCPtr, this, pan, tilt, zoom);
  }

  public void setCameraRel(double pan, double tilt, double zoom, boolean lockRobot) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_setCameraRel__SWIG_0(swigCPtr, this, pan, tilt, zoom, lockRobot);
  }

  public void setCameraRel(double pan, double tilt, double zoom) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_setCameraRel__SWIG_1(swigCPtr, this, pan, tilt, zoom);
  }

  public void setCameraPct(double panPct, double tiltPct, boolean lockRobot) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_setCameraPct__SWIG_0(swigCPtr, this, panPct, tiltPct, lockRobot);
  }

  public void setCameraPct(double panPct, double tiltPct) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_setCameraPct__SWIG_1(swigCPtr, this, panPct, tiltPct);
  }

  public void resetCamera(boolean lockRobot) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_resetCamera__SWIG_0(swigCPtr, this, lockRobot);
  }

  public void resetCamera() {
    ArNetworkingJavaJNI.ArServerHandlerCamera_resetCamera__SWIG_1(swigCPtr, this);
  }

  public void cameraModeLookAtGoal() {
    ArNetworkingJavaJNI.ArServerHandlerCamera_cameraModeLookAtGoal(swigCPtr, this);
  }

  public void cameraModeLookAtPoint(ArPose pose, boolean controlZoom) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_cameraModeLookAtPoint__SWIG_0(swigCPtr, this, ArPose.getCPtr(pose), pose, controlZoom);
  }

  public void cameraModeLookAtPoint(ArPose pose) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_cameraModeLookAtPoint__SWIG_1(swigCPtr, this, ArPose.getCPtr(pose), pose);
  }

  public void cameraModeLookAtGoalSetGoal(ArPose pose) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_cameraModeLookAtGoalSetGoal(swigCPtr, this, ArPose.getCPtr(pose), pose);
  }

  public void cameraModeLookAtGoalClearGoal() {
    ArNetworkingJavaJNI.ArServerHandlerCamera_cameraModeLookAtGoalClearGoal(swigCPtr, this);
  }

  public void cameraModePosition() {
    ArNetworkingJavaJNI.ArServerHandlerCamera_cameraModePosition(swigCPtr, this);
  }

  public String getCameraName() {
    return ArNetworkingJavaJNI.ArServerHandlerCamera_getCameraName(swigCPtr, this);
  }

  public void addToCameraCollection(ArCameraCollection collection) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_addToCameraCollection(swigCPtr, this, ArCameraCollection.getCPtr(collection), collection);
  }

  public void handleGetCameraData(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_handleGetCameraData(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void handleGetCameraInfo(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_handleGetCameraInfo(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void handleSetCameraAbs(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_handleSetCameraAbs(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void handleSetCameraPct(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_handleSetCameraPct(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void handleSetCameraRel(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_handleSetCameraRel(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void handleGetCameraModeList(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_handleGetCameraModeList(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void handleCameraModeUpdated(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_handleCameraModeUpdated(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void handleSetCameraMode(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_handleSetCameraMode(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void handleResetCamera(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_handleResetCamera(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void camera(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_camera(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void cameraAbs(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_cameraAbs(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void cameraPct(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_cameraPct(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void cameraUpdate(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_cameraUpdate(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

  public void cameraInfo(ArServerClient client, ArNetPacket packet) {
    ArNetworkingJavaJNI.ArServerHandlerCamera_cameraInfo(swigCPtr, this, ArServerClient.getCPtr(client), client, ArNetPacket.getCPtr(packet), packet);
  }

}
